﻿/*
SINACOR - BMF&Bovespa
Arquivo: NaoExisteRelacionamentoBroker.cs
Criado em: 26-mai-2010 17:49:30
Arquiteto Responsável: p-wgeneroso
*/
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using Sinacor.Infra.Service.Validation;
using Sinacor.Infra.Service.Common;
using Sinacor.Infra.Common.Exceptions;
using Sinacor.Infra.Service.ExceptionHandling;
using Sinacor.Infra.Service.Validation.BusinessRules;
using Sinacor.Infra.Common.Validation;

namespace Sinacor.Servico.Bovespa.Cliente.BusinessLogic.BusinessRuleValidation
{
    public class NaoExisteRelacionamentoBroker : BaseBusinessRuleValidation<BusinessEntity.RelacionamentoBroker>, IBusinessRuleValidation
    {
        #region Atributos

        private int _relacionamentoBrokerExistente = 109720;

        #endregion

        #region Construtores

        public NaoExisteRelacionamentoBroker() 
        {
        }

        #endregion

        #region Propriedades

        public int RelacionamentoBrokerExistente
        {
            get
            {
                return _relacionamentoBrokerExistente;
            }
            set
            {
                _relacionamentoBrokerExistente = value;
            }
        }

        #endregion

        #region Métodos

        public List<ValidationError> GetErrors()
        {
            return base.ErrorsList;
        }

        public void Validate()
        {
            ResourceAccess.RelacionamentoBroker raRelacionamentoBroker = new ResourceAccess.RelacionamentoBroker();

            if (raRelacionamentoBroker.ConsultarRelacionamentosBroker(new BusinessEntity.Parameter.FiltroRelacionamentoBroker
                                                                                                                {
                                                                                                                    CodigoBrokerIntermediario = EntityToValidate.CodigoBrokerIntermediario,
                                                                                                                    CodigoBrokerPrincipal = EntityToValidate.CodigoBrokerPrincipal
                                                                                                                }).Count > 0)
            {
                base.AddValidationError(RelacionamentoBrokerExistente);
            }
        }

        #endregion
    }
}